As computer technology has advanced, computers have become increasingly commonplace in homes, businesses, and elsewhere, and have allowed users to perform an increasingly wide variety of tasks. Additionally, as computers have become more commonplace, they have also become more inter-connected. Local area networks have become commonplace in businesses, and are becoming increasingly common in homes. Furthermore, these local networks are becoming increasingly connected to wide area networks (e.g., the Internet), allowing communication among computers throughout the world.
One task that many users often like to perform with their computers is to print out documents retrieved from other sources via the network. For example, users may access server computers to retrieve documents and have those documents printed on a printer that is also coupled to their computer either via a network or directly. However, given the computing power of many modern computers, the documents to be printed can be fairly complex and require a substantial amount of time to be transferred to the printer (via the computer accessing the documents), as well as a substantial amount of time to actually process the documents at the printer in order to print them. Thus, in order to decrease the amount of time that a user has to wait for documents to be printed, it would be beneficial to provide a way to improve the speed of printing these documents.